package nl.haemers.galleries.galleryitem
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;
	
	import nl.haemers.base.BaseSprite;
	import nl.haemers.galleries.galleryitem.IItem;
	
	/**
	 * @author Jonathan Haemers
	  */
	public class BaseItem extends BaseSprite implements IItem
	{
		protected var _id				:int;
		protected var _image			:Bitmap;
		protected var _imageData		:BitmapData;		
		
		protected var _next				:IItem;
		protected var _prev				:IItem;
		
		public function BaseItem() 
		{
			super();
		}
		
		/** Public methods **/
		public function show() : void
		{
		}
		
		public function hide() : void
		{
		}
		
		/** Getters & Setters **/
		public function get id() : int
		{ 
			return _id;
		}
		public function set id( value:int ) : void 
		{
			_id = value;
		}
		
		public function get image() : Bitmap
		{ 
			return _image;
		}
		public function set image(value:Bitmap) : void 
		{
			_image = value;
		}
		
		public function get imageData() : BitmapData
		{ 
			return _imageData;
		}
		public function set imageData(value:BitmapData) : void 
		{
			_imageData = value;
		}
		
		public function get next() : IItem
		{ 
			return _next;
		}
		public function set next( value:IItem ) : void 
		{
			_next = value;
		}
		
		public function get previous() : IItem
		{ 
			return _prev;
		}
		public function set previous( value:IItem ) : void 
		{
			_prev = value;
		}
		/** Protected methods **/
		override protected function init( e:Event = null ) : void
		{
			super.init(e);
			
			startup();
		}
		
		protected function startup() : void
		{
		}
	}

}